Mark test types for <atomic> nothrow default constructible. Patch from Steve MacKenzie. The way the standard currently specifies the default constructor for atomic<T> requires T to be nothrow default constructible. This patch makes our test types meet this requirement. Note: The nothrow default constructible requirment is subject to the outcome of LWG issue 1265. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@216561 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp index fd5102b..e954194 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
@@ -55,7 +55,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp index f2610a3..7d84f81 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
@@ -62,7 +62,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp index a3f95a4..b0902cd 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
@@ -55,7 +55,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp index 2f3e996..fdb0b7d 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
@@ -62,7 +62,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp index 4264943..b7edfce 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
@@ -40,7 +40,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp index 0f3add5..e1a2c5f 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
@@ -42,7 +42,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp index 9ce60ad..c9ec413 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
@@ -75,7 +75,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} A(const A& a) : i(a.i) {} A(const volatile A& a) : i(a.i) {}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp index a2a1a44..804289c 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
@@ -79,7 +79,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} A(const A& a) : i(a.i) {} A(const volatile A& a) : i(a.i) {}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp index d33b81e..0a0fa0a 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
@@ -75,7 +75,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} A(const A& a) : i(a.i) {} A(const volatile A& a) : i(a.i) {}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp index 886a65f..cd7cfd8 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
@@ -80,7 +80,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} A(const A& a) : i(a.i) {} A(const volatile A& a) : i(a.i) {}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp index f0d9a24..98d4bee 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
@@ -38,7 +38,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp index b239886..80ee0db 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
@@ -38,7 +38,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp index 3072dd5..c6c1921 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
@@ -38,7 +38,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp index f9044bf..b9d6c92 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
@@ -38,7 +38,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}
diff --git a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp index 18038ae..6644345 100644 --- a/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp +++ b/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
@@ -38,7 +38,7 @@ { int i; - explicit A(int d = 0) : i(d) {} + explicit A(int d = 0) noexcept {i=d;} friend bool operator==(const A& x, const A& y) {return x.i == y.i;}